package com.wangjw.dataStructure.set;

import com.wangjw.dataStructure.tree.BST;

/**
 * Created by wangjw on 18/5/22.
 */
public class BSTSet<E extends Comparable<E>> implements Set<E> {

    private BST<E> bst;

    public BSTSet() {
        bst = new BST<>();
    }

    @Override
    public void add(E e) { // 平均 O(logN) (O(h)  h--高度)    最差 O(n)
        bst.add(e);
    }

    @Override
    public void remove(E e) { // 平均 O(logN) (O(h)  h--高度)    最差 O(n)
        bst.remove(e);
    }

    @Override
    public boolean contains(E e) { // 平均 O(logN) (O(h)  h--高度)    最差 O(n)
        return bst.contains(e);
    }

    @Override
    public int getSize() {
        return bst.size();
    }

    @Override
    public boolean isEmpty() {
        return bst.isEmpty();
    }
}
